package com.imooc.mall.service;

import com.github.pagehelper.PageInfo;
import com.imooc.mall.model.request.CreateOrderReq;
import com.imooc.mall.model.vo.OrderVO;

/**
 * @author zwj
 * @Description: 订单模块业务层
 * @date 2022/12/4 9:15 PM
 */
public interface OrderService {
    /**
     * 常见订单
     * @param createOrderReq
     * @return
     */
    String create(CreateOrderReq createOrderReq);

    /**
     * 前台订单详情
     * @param orderNo
     * @return
     */
    OrderVO detail(String orderNo);

    /**
     * 订单分页查询
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo listForCustomer(Integer pageNum, Integer pageSize);

    /**
     * 前台取消订单
     * @param orderNo
     */
    void cancel(String orderNo);

    /**
     * 生成支付二维码
     * @param orderNo
     * @return
     */
    String qrcode(String orderNo);

    /**
     * 支付接口
     * @param orderNo
     */
    void pay(String orderNo);

    PageInfo listForAdmin(Integer pageNum, Integer pageSize);

    void deliver(String orderNo);

    void finish(String orderNo);
}
